package protectora.DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.LinkedList;
import java.util.List;

import protectora.CasaDeAcogida;

public class CasaDeAcodigaDAOImpl implements CasaDeAcogidaDAO {

	public List<CasaDeAcogida> getCasas(String idProtectora) {
		List<CasaDeAcogida> resul = new LinkedList<CasaDeAcogida>();
		
		Connection conn = ConnectionManager.getInstance().checkOut();
		
		ResultSet rs = null;
		PreparedStatement st = null;
		
		
		try {
			String sql = "SELECT cd.IdCasaDeAcogida, cd.IdProtectora, cd.Nombre, cd.Direccion, cd.CodigoPostal";
			sql += " from casadeacogida cd, protectora p";
			sql += " where cd.IdProtectora = p.IdProtectora";
			sql += " and cd.IdProtectora = "+ idProtectora +";";
			st= conn.prepareStatement(sql);
			rs = st.executeQuery();
			while(rs.next()){
				String idCasa = rs.getString("IdCasaDeAcogida");
				String idPro = rs.getString("IdProtectora");
				String nombre = rs.getString("Nombre");
				String direccion = rs.getString("Direccion");
				String cp = rs.getString("CodigoPostal");
				CasaDeAcogida cad = new CasaDeAcogida(idCasa,idPro,nombre,direccion,cp);
				resul.add(cad);
			}
		
		return resul;
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			try{
			rs.close();
			st.close();
			conn.close();
			}catch (Exception e) {
				System.out.println("Error al cerrar conexion");
			}
		}
		
		return resul;
	}

	public CasaDeAcogida getCasa(String idProtectora,String id) {
		CasaDeAcogida resul = null;
		
		Connection conn = ConnectionManager.getInstance().checkOut();
		
		ResultSet rs = null;
		PreparedStatement st = null;
		
		
		try {
			String sql = "SELECT cd.IdCasaDeAcogida, cd.IdProtectora, cd.Nombre, cd.Direccion, cd.CodigoPostal";
			sql += " from casadeacogida cd, protectora p";
			sql += " where cd.IdProtectora = p.IdProtectora";
			sql += " and cd.IdProtectora = "+ idProtectora;
			sql += " and cd.idCasaDeAcogida = "+ id +";";
			st= conn.prepareStatement(sql);
			rs = st.executeQuery();
			while(rs.next()){
				String idCasa = rs.getString("IdCasaDeAcogida");
				String idPro = rs.getString("IdProtectora");
				String nombre = rs.getString("Nombre");
				String direccion = rs.getString("Direccion");
				String cp = rs.getString("CodigoPostal");
				resul = new CasaDeAcogida(idCasa,idPro,nombre,direccion,cp);
			}
		
		return resul;
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			try{
			rs.close();
			st.close();
			conn.close();
			}catch (Exception e) {
				System.out.println("Error al cerrar conexion");
			}
		}
		
		return resul;
	}
}


